//===================================================================================
// $$
//
// Coder: Code Milker v1.0
// 0 - EntityName
// 1 - Properties
//===================================================================================


namespace Mangosoft.DiceCopy.Domain.MainBoundedContext.Aggregates.PositionAgg {
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using Mangosoft.DiceCopy.Domain.Seedwork;

    public class Position : Entity, IValidatableObject {
       #region Members
       #endregion

        #region Properties
       ///<summary>
/// 
///</summary>
public string JobTitle {get;set;}

///<summary>
/// 仅保存第二级
///</summary>
public int CategoryCode {get;set;}

///<summary>
/// 
///</summary>
public string JobNumber {get;set;}

///<summary>
/// 
///</summary>
public string Department {get;set;}

///<summary>
/// 
///</summary>
public string Responsibilities {get;set;}

///<summary>
/// 
///</summary>
public int PositionTypeCode {get;set;}

///<summary>
/// 
///</summary>
public string Qualifications {get;set;}

///<summary>
/// Location
///</summary>
public int ProvinceCode {get;set;}

///<summary>
/// Location
///</summary>
public int CityCode {get;set;}

///<summary>
/// Location
///</summary>
public string Zip {get;set;}

///<summary>
/// 
///</summary>
public int YearsExperienceCode {get;set;}

///<summary>
/// 
///</summary>
public int EducationLevelCode {get;set;}

///<summary>
/// 
///</summary>
public int? GenderCode {get;set;}

///<summary>
/// 
///</summary>
public int? AgeMax {get;set;}

///<summary>
/// 
///</summary>
public int? AgeMin {get;set;}

///<summary>
/// 
///</summary>
public int? LanguageCode {get;set;}

///<summary>
/// 
///</summary>
public int? LangudageLevelCode {get;set;}

///<summary>
/// 用于薪资调查？
///</summary>
public int? MonthlyPay {get;set;}

///<summary>
/// 用于薪资调查？
///</summary>
public int? AnnualPay {get;set;}

///<summary>
/// 
///</summary>
public string WorkingHours {get;set;}

///<summary>
/// 说明薪资组成 范围
///</summary>
public string Payment {get;set;}

///<summary>
/// 
///</summary>
public string Welfare {get;set;}

///<summary>
/// 
///</summary>
public string Vacation {get;set;}

///<summary>
/// 需求人数；填写最大数
///</summary>
public int Candidates {get;set;}

///<summary>
/// 
///</summary>
public int? RequiredTravelCode {get;set;}

///<summary>
/// 
///</summary>
public bool? IsTelecommuting {get;set;}

///<summary>
/// 从发布日起
///</summary>
public DateTime StartDate {get;set;}

///<summary>
/// 作为刷新时间，在有效期内间隔24小时发布；对外作为发布时间显示；RepostDate>StartDate ? RepostDate : StartDate
///</summary>
public DateTime? RepostDate {get;set;}

///<summary>
/// 截止日止
///</summary>
public DateTime EndDate {get;set;}

///<summary>
/// 
///</summary>
public int Status {get;set;}

///<summary>
/// 0-Apply-to Email;1-Apply-to URL;2-Site Application Tracking。仅2
///</summary>
public int ApplicationMethod {get;set;}

///<summary>
/// 
///</summary>
public string ApplytoEmail {get;set;}

///<summary>
/// 
///</summary>
public string ApplytoURL {get;set;}

///<summary>
/// 
///</summary>
public string SelectProcess {get;set;}

///<summary>
/// 默认为公司地址，可以为空；电话等不能出现
///</summary>
public string Place {get;set;}

///<summary>
/// 
///</summary>
public string Scout {get;set;}

///<summary>
/// 是否允许毕业生投递
///</summary>
public bool? ApplyByGraduate {get;set;}

///<summary>
/// 劳动局相关；专门的TAB;是否允许交换到第三方
///</summary>
public bool? IsExchange {get;set;}

///<summary>
/// 
///</summary>
public int? Clicks {get;set;}

///<summary>
/// 
///</summary>
public int? Searches {get;set;}

///<summary>
/// 
///</summary>
public int? Applies {get;set;}

///<summary>
/// 
///</summary>
public Guid RecruiterId {get;set;}

///<summary>
/// 
///</summary>
public Guid CompanyId {get;set;}

///<summary>
/// 对应招聘会职位
///</summary>
public Guid? FairId {get;set;}

///<summary>
/// 
///</summary>
public Guid? BoothId {get;set;}

///<summary>
/// 
///</summary>
public DateTime DateCreated {get;set;}

///<summary>
/// 
///</summary>
public DateTime LastUpdate {get;set;}


        #endregion

        #region Public Methods

         #endregion
	
        #region IValidatableObject Members
        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) {
            var validationResults = new List<ValidationResult>();

            return validationResults;
        }
        #endregion
    }
}
